package cn.jc.springframework.aop.framework.autoproxy;

import cn.jc.springframework.beans.BeansException;
import cn.jc.springframework.beans.factory.BeanFactory;
import cn.jc.springframework.beans.factory.BeanFactoryAware;
import cn.jc.springframework.beans.factory.config.BeanPostProcessor;
import cn.jc.springframework.beans.factory.support.DefaultListableBeanFactory;
import com.sun.istack.internal.Nullable;

import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @Description:
 * @author: JC
 * @date: 2023/4/9 16:57
 */
public abstract class AbstractAutoProxyCreator /*implements BeanPostProcessor, BeanFactoryAware*/ {

   /* @Nullable
    private DefaultListableBeanFactory beanFactory;

    private final Set<String> targetSourcedBeans = Collections.newSetFromMap(new ConcurrentHashMap<>(16));

    private final Map<Object, Class<?>> proxyTypes = new ConcurrentHashMap<>(16);

    private final Map<Object, Boolean> advisedBeans = new ConcurrentHashMap<>(256);

    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        this.beanFactory = (DefaultListableBeanFactory) beanFactory;
    }*/
}
